// 入口函数
$(function () {
    // 需求1: 初始化文章列表数据
    // 因为后面还要用, 所以封装成函数


    initArtCateList()
    layer = layui.layer
    // 封装
    function initArtCateList() {
        // 发送ajax
        axios({
            method: 'GET',
            url: '/my/article/cates'
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }

            let arr = []
            res.data.data.forEach(ele => {
                arr.push(`
                        <tr>
                            <td>${ele.Id}</td>
                            <td>${ele.name}</td>
                            <td>${ele.alias}</td>
                            <td>
                                <button data-id="${ele.Id}" class="layui-btn layui-btn-xs btn-edit">修改</button>
                                <button data-id="${ele.Id}" class="layui-btn layui-btn-xs layui-btn-danger btn-del">删除</button>
                            </td>
                        </tr>
                `)

            })

            $('tbody').empty().html(arr.join(''))
        })
    }


    // 需求2: 添加文章分类
    $('#btnAdd').on('click', function () {
        indexAdd = layer.open({
            type: 1,
            title: '添加文章类别',
            area: ['500px', '260px'],
            // 将来, content里面要放form表单, 所以放到最末尾
            content: `
                    <form id="formAdd" class="layui-form" action="">
                        <div class="layui-form-item">
                            <label class="layui-form-label">分类名称</label>
                            <div class="layui-input-block">
                                <input type="text" name="name" required lay-verify="required" placeholder="请输入分类名称" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                
                        <div class="layui-form-item">
                            <label class="layui-form-label">分类别名</label>
                            <div class="layui-input-block">
                                <input type="text" name="alias" required lay-verify="required" placeholder="请输入分类别名" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                
                        <div class="layui-form-item">
                            <div class="layui-input-block">
                                <button class="layui-btn" lay-submit lay-filter="formDemo">确认添加</button>
                                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                            </div>
                        </div>
                    </form>
            `
        })
    })


    let indexAdd = 0
    // 需求3: 点击确认添加, 添加文章分类
    $('body').on('submit', '#formAdd', function (e) {
        e.preventDefault()
        // 发送ajax
        axios({
            method: 'POST',
            url: '/my/article/addcates',
            data: $(this).serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }

            layer.msg('恭喜您, 添加文章分类成功! ')
            // 刷新页面, 清空表单, 关闭弹出层
            initArticleList()
            $('#formAdd')[0].reset()
            layer.close(indexAdd)
        })
    })


    let indexEdit = 0
    // 需求4: 修改
    $('tbody').on('click', '.btn-edit', function () {
        indexEdit = layer.open({
            type: 1,
            title: '修改文章类别',
            area: ['500px', '260px'],
            // 将来, content里面要放form表单, 所以放到最末尾
            content: `
                    <form id="formEdit" class="layui-form" action="" lay-filter="formEdit">
                        <input type="hidden" name="Id">
                        <div class="layui-form-item">
                            <label class="layui-form-label">分类名称</label>
                            <div class="layui-input-block">
                                <input type="text" name="name" required lay-verify="required" placeholder="请输入分类名称" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                
                        <div class="layui-form-item">
                            <label class="layui-form-label">分类别名</label>
                            <div class="layui-input-block">
                                <input type="text" name="alias" required lay-verify="required" placeholder="请输入分类别名" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                
                        <div class="layui-form-item">
                            <div class="layui-input-block">
                                <button class="layui-btn btn-edit" lay-submit lay-filter="formDemo">确认修改</button>
                            </div>
                        </div>
                    </form>
            `
        })

        // 点击修改按钮
        let id = $(this).attr('data-id')
        // 根据id获取文章分类
        // 发送ajax
        axios({
            method: 'GET',
            url: '/my/article/cates/' + id  // url参数是写在路径后面的( 传值的时候, : 冒号必须省略, / 斜线必须保留)
        }).then(res => {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }

            layui.form.val('formEdit', res.data.data)
        })





    })

    // 需求5: 点击确认修改
    $('body').on('submit', '#formEdit', function (e) {
        e.preventDefault()
        // console.log($(this).serialize());
        // 发送ajax
        axios({
            method: 'POST',
            url: '/my/article/updatecate',
            data: $(this).serialize()
        }).then(res => {
            console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }

            layer.msg('恭喜您, 修改文章分类成功! ')
            // 刷新页面, 清空表单, 关闭弹出层
            initArticleList()
            $('#formEdit')[0].reset()
            layer.close(indexEdit)
        })
    })



    // 需求6: 删除
    $('tbody').on('click', '.btn-del', function () {
        let id = $(this).attr('data-id')
        // alert(id)
        layer.confirm('is not?', { icon: 3, title: '提示' }, function (index) {
            // 发送ajax
            axios({
                method: 'GET',
                //  url参数，删除 :  保留 /
                url: '/my/article/deletecate/' + id
            }).then(res => {
                if (res.data.status !== 0) {
                    return layer.msg(res.data.message);
                }
                // 成功提示
                layer.msg('恭喜您，删除文章分类成功！');
                // 重新渲染页面
                initArticleList()
            });
            layer.close(index);
        });
    })

})